home *** CD-ROM | disk | FTP | other *** search
/ Willard Press Kit / Willard Press Kit.iso / mac / Acrobat Reader 5 / Acrobat Reader 5.0 / Acrobat Reader 5.0.rsrc / TEXT_506_PDF.txt < prev    next >
Text File  |  2001-09-24  |  9KB  |  500 lines

  1. %%BeginResource: procset pdf
  2. %%Version: 5.0 7
  3. %%Copyright: Copyright 1998-2001 Adobe Systems Incorporated. All Rights Reserved.
  4. %%Title: General operators for PDF, common to all Language Levels.
  5. /cm { matrix astore concat } bd
  6. /d /setdash ld
  7. /f /fill ld
  8. /h /closepath ld
  9. /i {dup 0 eq {pop _defaultflatness} if setflat} bd
  10. /j /setlinejoin ld
  11. /J /setlinecap ld
  12. /M /setmiterlimit ld
  13. /n /newpath ld
  14. /S /stroke ld
  15. /w /setlinewidth ld
  16. /W /clip ld
  17. /initgs {
  18. 0 setgray
  19. [] 0 d
  20. 0 j
  21. 0 J
  22. 10 M
  23. 1 w
  24. false setSA
  25. /_defaulttransfer load settransfer
  26. 0 i
  27. /RelativeColorimetric ri
  28. newpath
  29. } bd
  30. /int {
  31. dup 2 index sub 3 index 5 index sub div 6 -2 roll sub mul
  32. exch pop add exch pop
  33. } bd
  34. /limit {
  35. dup 2 index le { exch } if pop
  36. dup 2 index ge { exch } if pop
  37. } bd
  38. /domainClip {
  39. Domain aload pop 3 2 roll
  40. limit
  41. } [/Domain] bld
  42. /applyInterpFunc {
  43. 0 1 DimOut 1 sub
  44. {
  45. dup C0 exch get exch
  46. dup C1 exch get exch
  47. 3 1 roll
  48. 1 index sub
  49. 3 index
  50. N exp mul add
  51. exch
  52. currentdict /Range_lo known
  53. {
  54. dup Range_lo exch get exch
  55. Range_hi exch get
  56. 3 2 roll limit
  57. }
  58. {
  59. pop
  60. }
  61. ifelse
  62. exch
  63. } for
  64. pop
  65. } [/DimOut /C0 /C1 /N /Range_lo /Range_hi] bld
  66. /encodeInput {
  67. NumParts 1 sub
  68. 0 1 2 index
  69. {
  70. dup Bounds exch get
  71. 2 index gt
  72. { exit }
  73. { dup
  74. 3 index eq
  75. { exit }
  76. { pop } ifelse
  77. } ifelse
  78. } for
  79. 3 2 roll pop
  80. dup Bounds exch get exch
  81. dup 1 add Bounds exch get exch
  82. 2 mul
  83. dup Encode exch get exch
  84. 1 add Encode exch get
  85. int
  86. } [/NumParts /Bounds /Encode] bld
  87. /rangeClip {
  88. exch dup Range_lo exch get
  89. exch Range_hi exch get
  90. 3 2 roll
  91. limit
  92. } [/Range_lo /Range_hi] bld
  93. /applyStitchFunc {
  94. Functions exch get exec
  95. currentdict /Range_lo known {
  96. 0 1 DimOut 1 sub {
  97. DimOut 1 add -1 roll
  98. rangeClip
  99. } for
  100. } if
  101. } [/Functions /Range_lo /DimOut] bld
  102. /pdf_flushfilters
  103. {
  104. aload length
  105. { dup status
  106. 1 index currentfile ne and
  107. { dup flushfile closefile }
  108. { pop }
  109. ifelse
  110. } repeat
  111. } bd
  112. /pdf_readstring
  113. {
  114. 1 index dup length 1 sub get
  115. exch readstring pop
  116. exch pdf_flushfilters
  117. } bind def
  118. /pdf_dictOp
  119. {
  120. 3 2 roll
  121. 10 dict copy
  122. begin
  123. _Filters dup length 1 sub get def
  124. currentdict exch exec
  125. _Filters pdf_flushfilters
  126. end
  127. } [/_Filters] bld
  128. /pdf_image {{image} /DataSource pdf_dictOp} bd
  129. /pdf_imagemask {{imagemask} /DataSource pdf_dictOp} bd
  130. /pdf_shfill {{sh} /DataSource pdf_dictOp} bd
  131. /pdf_sethalftone {{sethalftone} /Thresholds pdf_dictOp} bd
  132. /pdf_maskedImage
  133. {
  134. 10 dict copy begin
  135. /miDict currentdict def
  136. /DataDict DataDict 10 dict copy def
  137. DataDict begin
  138. /DataSource
  139. _Filters dup length 1 sub get
  140. def
  141. miDict image
  142. _Filters pdf_flushfilters
  143. end
  144. end
  145. } [/miDict /DataDict /_Filters] bld
  146. /RadialShade {
  147. 40 dict begin
  148. /background exch def
  149. /ext1 exch def
  150. /ext0 exch def
  151. /BBox exch def
  152. /r2 exch def
  153. /c2y exch def
  154. /c2x exch def
  155. /r1 exch def
  156. /c1y exch def
  157. /c1x exch def
  158. /rampdict exch def
  159. gsave
  160. BBox length 0 gt {
  161. newpath
  162. BBox 0 get BBox 1 get moveto
  163. BBox 2 get BBox 0 get sub 0 rlineto
  164. 0 BBox 3 get BBox 1 get sub rlineto
  165. BBox 2 get BBox 0 get sub neg 0 rlineto
  166. closepath
  167. clip
  168. newpath
  169. } if
  170. c1x c2x eq
  171. {
  172. c1y c2y lt {/theta 90 def}{/theta 270 def} ifelse
  173. }
  174. {
  175. /slope c2y c1y sub c2x c1x sub div def
  176. /theta slope 1 atan def
  177. c2x c1x lt c2y c1y ge and { /theta theta 180 sub def} if
  178. c2x c1x lt c2y c1y lt and { /theta theta 180 add def} if
  179. }
  180. ifelse
  181. gsave
  182. clippath
  183. c1x c1y translate
  184. theta rotate
  185. -90 rotate
  186. { pathbbox } stopped
  187. { 0 0 0 0 } if
  188. /yMax exch def
  189. /xMax exch def
  190. /yMin exch def
  191. /xMin exch def
  192. grestore
  193. xMax xMin eq yMax yMin eq or
  194. {
  195. grestore
  196. end
  197. }
  198. {
  199. rampdict begin
  200. 40 dict begin
  201. background length 0 gt { background sssetbackground gsave clippath fill grestore } if
  202. gsave
  203. c1x c1y translate
  204. theta rotate
  205. -90 rotate
  206. /c2y c1x c2x sub dup mul c1y c2y sub dup mul add sqrt def
  207. /c1y 0 def
  208. /c1x 0 def
  209. /c2x 0 def
  210. ext0 {
  211. 0 getrampcolor
  212. c2y r2 add r1 lt
  213. {
  214. c1x c1y r1 360 0 arcn
  215. xMin yMin moveto
  216. xMax yMin lineto
  217. xMax yMax lineto
  218. xMin yMax lineto
  219. xMin yMin lineto
  220. eofill
  221. }
  222. {
  223. c2y r1 add r2 le
  224. {
  225. c1x c1y r1 0 360 arc
  226. fill
  227. }
  228. {
  229. c2x c2y r2 0 360 arc fill
  230. r1 r2 eq
  231. {
  232. /p1x r1 neg def
  233. /p1y c1y def
  234. /p2x r1 def
  235. /p2y c1y def
  236. p1x p1y moveto p2x p2y lineto p2x yMin lineto p1x yMin lineto
  237. fill
  238. }
  239. {
  240. /AA r2 r1 sub c2y div def
  241. /theta AA 1 AA dup mul sub sqrt div 1 atan def
  242. /SS1 90 theta add dup sin exch cos div def
  243. /p1x r1 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def
  244. /p1y p1x SS1 div neg def
  245. /SS2 90 theta sub dup sin exch cos div def
  246. /p2x r1 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def
  247. /p2y p2x SS2 div neg def
  248. r1 r2 gt
  249. {
  250. /L1maxX p1x yMin p1y sub SS1 div add def
  251. /L2maxX p2x yMin p2y sub SS2 div add def
  252. }
  253. {
  254. /L1maxX 0 def
  255. /L2maxX 0 def
  256. }ifelse
  257. p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto
  258. L1maxX L1maxX p1x sub SS1 mul p1y add lineto
  259. fill
  260. }
  261. ifelse
  262. }
  263. ifelse
  264. } ifelse
  265. } if
  266. c1x c2x sub dup mul
  267. c1y c2y sub dup mul
  268. add 0.5 exp
  269. 0 dtransform
  270. dup mul exch dup mul add 0.5 exp 72 div
  271. 0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt
  272. 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt
  273. 1 index 1 index lt { exch } if pop
  274. /hires exch def
  275. hires mul
  276. /numpix exch def
  277. /numsteps NumSamples def
  278. /rampIndxInc 1 def
  279. /subsampling false def
  280. numpix 0 ne
  281. {
  282. NumSamples numpix div 0.5 gt
  283. {
  284. /numsteps numpix 2 div round cvi dup 1 le { pop 2 } if def
  285. /rampIndxInc NumSamples 1 sub numsteps div def
  286. /subsampling true def
  287. } if
  288. } if
  289. /xInc c2x c1x sub numsteps div def
  290. /yInc c2y c1y sub numsteps div def
  291. /rInc r2 r1 sub numsteps div def
  292. /cx c1x def
  293. /cy c1y def
  294. /radius r1 def
  295. newpath
  296. xInc 0 eq yInc 0 eq rInc 0 eq and and
  297. {
  298. 0 getrampcolor
  299. cx cy radius 0 360 arc
  300. stroke
  301. NumSamples 1 sub getrampcolor
  302. cx cy radius 72 hires div add 0 360 arc
  303. 0 setlinewidth
  304. stroke
  305. }
  306. {
  307. 0
  308. numsteps
  309. {
  310. dup
  311. subsampling { round cvi } if
  312. getrampcolor
  313. cx cy radius 0 360 arc
  314. /cx cx xInc add def
  315. /cy cy yInc add def
  316. /radius radius rInc add def
  317. cx cy radius 360 0 arcn
  318. eofill
  319. rampIndxInc add
  320. }
  321. repeat
  322. pop
  323. } ifelse
  324. ext1 {
  325. c2y r2 add r1 lt
  326. {
  327. c2x c2y r2 0 360 arc
  328. fill
  329. }
  330. {
  331. c2y r1 add r2 le
  332. {
  333. c2x c2y r2 360 0 arcn
  334. xMin yMin moveto
  335. xMax yMin lineto
  336. xMax yMax lineto
  337. xMin yMax lineto
  338. xMin yMin lineto
  339. eofill
  340. }
  341. {
  342. c2x c2y r2 0 360 arc fill
  343. r1 r2 eq
  344. {
  345. /p1x r2 neg def
  346. /p1y c2y def
  347. /p2x r2 def
  348. /p2y c2y def
  349. p1x p1y moveto p2x p2y lineto p2x yMax lineto p1x yMax lineto
  350. fill
  351. }
  352. {
  353. /AA r2 r1 sub c2y div def
  354. /theta AA 1 AA dup mul sub sqrt div 1 atan def
  355. /SS1 90 theta add dup sin exch cos div def
  356. /p1x r2 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def
  357. /p1y c2y p1x SS1 div sub def
  358. /SS2 90 theta sub dup sin exch cos div def
  359. /p2x r2 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def
  360. /p2y c2y p2x SS2 div sub def
  361. r1 r2 lt
  362. {
  363. /L1maxX p1x yMax p1y sub SS1 div add def
  364. /L2maxX p2x yMax p2y sub SS2 div add def
  365. }
  366. {
  367. /L1maxX 0 def
  368. /L2maxX 0 def
  369. }ifelse
  370. p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto
  371. L1maxX L1maxX p1x sub SS1 mul p1y add lineto
  372. fill
  373. }
  374. ifelse
  375. }
  376. ifelse
  377. } ifelse
  378. } if
  379. grestore
  380. grestore
  381. end
  382. end
  383. end
  384. } ifelse
  385. } bd
  386. /GenStrips {
  387. 40 dict begin
  388. /background exch def
  389. /ext1 exch def
  390. /ext0 exch def
  391. /BBox exch def
  392. /y2 exch def
  393. /x2 exch def
  394. /y1 exch def
  395. /x1 exch def
  396. /rampdict exch def
  397. gsave
  398. BBox length 0 gt {
  399. newpath
  400. BBox 0 get BBox 1 get moveto
  401. BBox 2 get BBox 0 get sub 0 rlineto
  402. 0 BBox 3 get BBox 1 get sub rlineto
  403. BBox 2 get BBox 0 get sub neg 0 rlineto
  404. closepath
  405. clip
  406. newpath
  407. } if
  408. x1 x2 eq
  409. {
  410. y1 y2 lt {/theta 90 def}{/theta 270 def} ifelse
  411. }
  412. {
  413. /slope y2 y1 sub x2 x1 sub div def
  414. /theta slope 1 atan def
  415. x2 x1 lt y2 y1 ge and { /theta theta 180 sub def} if
  416. x2 x1 lt y2 y1 lt and { /theta theta 180 add def} if
  417. }
  418. ifelse
  419. gsave
  420. clippath
  421. x1 y1 translate
  422. theta rotate
  423. { pathbbox } stopped
  424. { 0 0 0 0 } if
  425. /yMax exch def
  426. /xMax exch def
  427. /yMin exch def
  428. /xMin exch def
  429. grestore
  430. xMax xMin eq yMax yMin eq or
  431. {
  432. grestore
  433. end
  434. }
  435. {
  436. rampdict begin
  437. 20 dict begin
  438. background length 0 gt { background sssetbackground gsave clippath fill grestore } if
  439. gsave
  440. x1 y1 translate
  441. theta rotate
  442. /xStart 0 def
  443. /xEnd x2 x1 sub dup mul y2 y1 sub dup mul add 0.5 exp def
  444. /ySpan yMax yMin sub def
  445. /numsteps NumSamples def
  446. /rampIndxInc 1 def
  447. /subsampling false def
  448. xStart 0 transform
  449. xEnd 0 transform
  450. 3 -1 roll
  451. sub dup mul
  452. 3 1 roll
  453. sub dup mul
  454. add 0.5 exp 72 div
  455. 0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt
  456. 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt
  457. 1 index 1 index lt { exch } if pop
  458. mul
  459. /numpix exch def
  460. numpix 0 ne
  461. {
  462. NumSamples numpix div 0.5 gt
  463. {
  464. /numsteps numpix 2 div round cvi dup 1 le { pop 2 } if def
  465. /rampIndxInc NumSamples 1 sub numsteps div def
  466. /subsampling true def
  467. } if
  468. } if
  469. ext0 {
  470. 0 getrampcolor
  471. xMin xStart lt
  472. { xMin yMin xMin neg ySpan rectfill } if
  473. } if
  474. /xInc xEnd xStart sub numsteps div def
  475. /x xStart def
  476. 0
  477. numsteps
  478. {
  479. dup
  480. subsampling { round cvi } if
  481. getrampcolor
  482. x yMin xInc ySpan rectfill
  483. /x x xInc add def
  484. rampIndxInc add
  485. }
  486. repeat
  487. pop
  488. ext1 {
  489. xMax xEnd gt
  490. { xEnd yMin xMax xEnd sub ySpan rectfill } if
  491. } if
  492. grestore
  493. grestore
  494. end
  495. end
  496. end
  497. } ifelse
  498. } bd
  499. %%EndResource
  500.